package Controler.Professeur;

import java.io.IOException;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import Model.Listes;
import Model.Professeur;
import JDBC.Professeur_Afficher;
import JDBC.Professeur_Supprimer;

/**
 * Servlet implementation class AffichageCours
 */
@WebServlet("/Professeur_ChoixAction")
public class Professeur_ChoixAction extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Professeur_ChoixAction() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
	{
		HttpSession session = request.getSession();
		Listes listes = (Listes) session.getAttribute("listes");
		
		if (listes==null)
		{
			listes = new Listes();
		}
		
		Professeur_Afficher listeProf = new Professeur_Afficher();
		ArrayList<Professeur> mesProfesseurs = listeProf.afficher();
		listes.setMesProfesseurs(mesProfesseurs);
		session.setAttribute("listes", listes);
		request.getRequestDispatcher("Vues/Professeur/vueGRP1_tableauProf.jsp").forward(request, response);

		
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
	{
		String url = "Vues/Professeur/vueGRP1_tableauProf.jsp";
		
		HttpSession session = request.getSession();
		Listes listes = (Listes) session.getAttribute("listes");

		System.out.println("CHOIX ACTION ");
		
		if (listes==null)
		{
			listes = new Listes();
		}

		System.out.println(" LISTE P");
		Professeur_Afficher listeProf = new Professeur_Afficher();
		ArrayList<Professeur> mesProfesseurs = listeProf.afficher();
		listes.setMesProfesseurs(mesProfesseurs);
		
		
		if(request.getParameter("ajout")!=null)
		{
			url="Vues/Professeur/vueGRP1_ajouter.jsp";
		}
		
		if(request.getParameter("modification")!=null)
		{
			for (int i=0;i<mesProfesseurs.size();i++){
				Professeur profmodif;
				if (mesProfesseurs.get(i).getIdProfesseur()==Integer.parseInt(request.getParameter("modification"))){
					profmodif=mesProfesseurs.get(i);
					request.setAttribute("prof", profmodif);
				}
			}
			session.setAttribute("", listes);
			url="Vues/Professeur/vueGRP1_modifier.jsp";
		}
		
		if(request.getParameter("affichage")!=null)
		{
			for (int i=0;i<mesProfesseurs.size();i++){
				Professeur profmodif;
				if (mesProfesseurs.get(i).getIdProfesseur()==Integer.parseInt(request.getParameter("affichage"))){
					profmodif=mesProfesseurs.get(i);
					request.setAttribute("professeur", profmodif);
				}
			}
			session.setAttribute("", listes);
			url="Vues/Professeur/vueGRP1_afficher.jsp";
		}
		
		
		if(request.getParameter("suppression")!=null)
		{
			int idP =Integer.parseInt(request.getParameter("suppression"));

			Professeur_Supprimer suppression = new Professeur_Supprimer();
			suppression.supprimer(idP);
			
			listeProf = new Professeur_Afficher();
			mesProfesseurs = listeProf.afficher();
			listes.setMesProfesseurs(mesProfesseurs);
			session.setAttribute("listes", listes);
			
			url="Vues/Professeur/vueGRP1_tableauProf.jsp";
		}
		
		request.getRequestDispatcher(url).forward(request, response);
	}
}
